C# 如何重载|,&

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:46:15

顶楼上的

C# 运算符重载决策示例

下面的例子定义一个 Complex 类,实现了复数加、减、乘和除的四则运算。C# 中定义常规运算符的语法如下:

[public | private | protected | internal | internal protected] static <return type> | implicit | explicit operator <operatorName> ( <param list> )

下面是 C# 3.0 代码。

struct Complex
...{
public double Real ...{ get; set; }
public double Imaginary ...{ get; set; }

public Complex(double real, double imaginary) : this() ...{ this.Real = real; this.Imaginary = imaginary; }

public static Complex operator +(Complex c1, Complex c2)
...{
return new Complex ...{ Real = c1.Real + c2.Real, Imaginary = c1.Imaginary + c2.Imaginary };
}

public static Complex operator -(Complex c1, Complex c2)
...{
return new Complex ...{ Real = c1.Real - c2.Real, Imaginary = c1.Imaginary - c2.Imaginary };